<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Karamelo: Solid Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="karamelodoxy.css" rel="stylesheet" type="text/css">
<!--  -->
<script type="text/javascript" src="karamelo_navtree_hacks.js"></script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.karamelo.org"><img alt="Logo" src="Karamelo_logo.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname"><a href="http://www.karamelo.org">Karamelo</a>
   &#160;<span id="projectnumber">714599e9</span>
   </div>
   <div id="projectbrief">Parallel Material Point Method Simulator</div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classSolid.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="classSolid-members.html">List of all members</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a>  </div>
  <div class="headertitle">
<div class="title">Solid Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This class represents a given solid.</p>
<p>In this class is stored the variables related to the solid boundaries as well as all those related to the particles it contains. Moreover, it holds the evaluation of the shape functions and its derivatives. The functions member of this class are related to the Particle to <a class="el" href="classGrid.html">Grid</a> (P2G) and <a class="el" href="classGrid.html">Grid</a> to Particle (G2P) steps of the <a class="el" href="classMPM.html">MPM</a> algorithm. Another member is a function that updates the particles' stresses. This class holds a pointer of type <a class="el" href="classGrid.html">Grid</a> that points to either the local grid, as used in the Total Lagrangian <a class="el" href="classMPM.html">MPM</a>, or the global grid, as used in the Updated Lagrangian <a class="el" href="classMPM.html">MPM</a>. This class has <a class="el" href="classPointers.html">Pointers</a> as parent in order to be accessible from anywhere within the <a class="el" href="classMPM.html">MPM</a> class. </p>
</div><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for Solid:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="classSolid__inherit__graph.png" border="0" usemap="#Solid_inherit__map" alt="Inheritance graph"/></div>
<map name="Solid_inherit__map" id="Solid_inherit__map">
<area shape="rect" id="node2" href="classPointers.html" title="{Pointers\n|# domain\l# error\l# group\l# infile\l# input\l# logfile\l# material\l# memory\l# modify\l# mpm\l# output\l# universe\l# update\l# wlogfile\l|+ Pointers()\l+ ~Pointers()\l}" alt="" coords="65,5,164,288"/>
</map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ab93db1b241d829fb871f22a1bdfc94a2"><td class="memItemLeft" align="right" valign="top"><a id="ab93db1b241d829fb871f22a1bdfc94a2"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#ab93db1b241d829fb871f22a1bdfc94a2">compute_deformation_gradient</a> ()</td></tr>
<tr class="memdesc:ab93db1b241d829fb871f22a1bdfc94a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the deformation gradient directly from the grid nodes' positions. <br /></td></tr>
<tr class="separator:ab93db1b241d829fb871f22a1bdfc94a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17ae01bf89648cab77ef9d67a599d152"><td class="memItemLeft" align="right" valign="top"><a id="a17ae01bf89648cab77ef9d67a599d152"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a17ae01bf89648cab77ef9d67a599d152">compute_external_forces_nodes</a> (bool)</td></tr>
<tr class="memdesc:a17ae01bf89648cab77ef9d67a599d152"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute external forces step of the Particle to <a class="el" href="classGrid.html">Grid</a> step of the <a class="el" href="classMPM.html">MPM</a> algorithm. <br /></td></tr>
<tr class="separator:a17ae01bf89648cab77ef9d67a599d152"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a459c9693098b501f090106cffa95232a"><td class="memItemLeft" align="right" valign="top"><a id="a459c9693098b501f090106cffa95232a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a459c9693098b501f090106cffa95232a">compute_inertia_tensor</a> (string)</td></tr>
<tr class="memdesc:a459c9693098b501f090106cffa95232a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the inertia tensor necessary for the Affice PIC. <br /></td></tr>
<tr class="separator:a459c9693098b501f090106cffa95232a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a246ae36a700ca983f3c738a889592306"><td class="memItemLeft" align="right" valign="top"><a id="a246ae36a700ca983f3c738a889592306"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a246ae36a700ca983f3c738a889592306">compute_internal_forces_nodes_TL</a> ()</td></tr>
<tr class="memdesc:a246ae36a700ca983f3c738a889592306"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute internal forces step of the Particle to <a class="el" href="classGrid.html">Grid</a> step of the total Lagrangian <a class="el" href="classMPM.html">MPM</a> algorithm. <br /></td></tr>
<tr class="separator:a246ae36a700ca983f3c738a889592306"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee9a1a5d36910a156ffa4aa92156f6f0"><td class="memItemLeft" align="right" valign="top"><a id="aee9a1a5d36910a156ffa4aa92156f6f0"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#aee9a1a5d36910a156ffa4aa92156f6f0">compute_internal_forces_nodes_UL</a> (bool)</td></tr>
<tr class="memdesc:aee9a1a5d36910a156ffa4aa92156f6f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute internal forces step of the Particle to <a class="el" href="classGrid.html">Grid</a> step of the updated Lagrangian <a class="el" href="classMPM.html">MPM</a> algorithm. <br /></td></tr>
<tr class="separator:aee9a1a5d36910a156ffa4aa92156f6f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d5da09b5ea59ccc68129757be74b078"><td class="memItemLeft" align="right" valign="top"><a id="a3d5da09b5ea59ccc68129757be74b078"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a3d5da09b5ea59ccc68129757be74b078">compute_mass_nodes</a> (bool)</td></tr>
<tr class="memdesc:a3d5da09b5ea59ccc68129757be74b078"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute nodal mass step of the Particle to <a class="el" href="classGrid.html">Grid</a> step of the <a class="el" href="classMPM.html">MPM</a> algorithm. <br /></td></tr>
<tr class="separator:a3d5da09b5ea59ccc68129757be74b078"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e7c6c919ee0182a223316d4d9f7d1ee"><td class="memItemLeft" align="right" valign="top"><a id="a1e7c6c919ee0182a223316d4d9f7d1ee"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a1e7c6c919ee0182a223316d4d9f7d1ee">compute_particle_acceleration</a> ()</td></tr>
<tr class="memdesc:a1e7c6c919ee0182a223316d4d9f7d1ee"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classUpdate.html">Update</a> the particles' acceleration. <br /></td></tr>
<tr class="separator:a1e7c6c919ee0182a223316d4d9f7d1ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a791b731d6ca7e1cc75c5bf8811fa2574"><td class="memItemLeft" align="right" valign="top"><a id="a791b731d6ca7e1cc75c5bf8811fa2574"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a791b731d6ca7e1cc75c5bf8811fa2574">compute_particle_velocities_and_positions</a> ()</td></tr>
<tr class="memdesc:a791b731d6ca7e1cc75c5bf8811fa2574"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the particles' temporary velocities and position, part of the <a class="el" href="classGrid.html">Grid</a> to Particles step of the <a class="el" href="classMPM.html">MPM</a> algorithm. <br /></td></tr>
<tr class="separator:a791b731d6ca7e1cc75c5bf8811fa2574"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37399b45509c6c7913542ff87ead5186"><td class="memItemLeft" align="right" valign="top"><a id="a37399b45509c6c7913542ff87ead5186"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a37399b45509c6c7913542ff87ead5186">compute_rate_deformation_gradient_TL</a> ()</td></tr>
<tr class="memdesc:a37399b45509c6c7913542ff87ead5186"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the time derivative of the deformation matrix for TLMPM, when APIC is not used. <br /></td></tr>
<tr class="separator:a37399b45509c6c7913542ff87ead5186"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5429256d616c65a57af0ea618813a5e"><td class="memItemLeft" align="right" valign="top"><a id="af5429256d616c65a57af0ea618813a5e"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#af5429256d616c65a57af0ea618813a5e">compute_rate_deformation_gradient_TL_APIC</a> ()</td></tr>
<tr class="memdesc:af5429256d616c65a57af0ea618813a5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the time derivative of the deformation matrix for TLMPM, when APIC is used. <br /></td></tr>
<tr class="separator:af5429256d616c65a57af0ea618813a5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b0b868c7038da6194ff81fcb1e5ea07"><td class="memItemLeft" align="right" valign="top"><a id="a4b0b868c7038da6194ff81fcb1e5ea07"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a4b0b868c7038da6194ff81fcb1e5ea07">compute_rate_deformation_gradient_UL_APIC</a> ()</td></tr>
<tr class="memdesc:a4b0b868c7038da6194ff81fcb1e5ea07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the time derivative of the deformation matrix for TLMPM, when APIC is in use. <br /></td></tr>
<tr class="separator:a4b0b868c7038da6194ff81fcb1e5ea07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7123b69beb8d72ab9d01ada52f3a00a3"><td class="memItemLeft" align="right" valign="top"><a id="a7123b69beb8d72ab9d01ada52f3a00a3"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a7123b69beb8d72ab9d01ada52f3a00a3">compute_rate_deformation_gradient_UL_MUSL</a> ()</td></tr>
<tr class="memdesc:a7123b69beb8d72ab9d01ada52f3a00a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the time derivative of the deformation matrix for TLMPM, when using Modified <a class="el" href="classUpdate.html">Update</a> Stress Last and APIC is not used. <br /></td></tr>
<tr class="separator:a7123b69beb8d72ab9d01ada52f3a00a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc400a0d8f8fbe5ff727924260a2b614"><td class="memItemLeft" align="right" valign="top"><a id="adc400a0d8f8fbe5ff727924260a2b614"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#adc400a0d8f8fbe5ff727924260a2b614">compute_rate_deformation_gradient_UL_USL</a> ()</td></tr>
<tr class="memdesc:adc400a0d8f8fbe5ff727924260a2b614"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the time derivative of the deformation matrix for TLMPM, when using <a class="el" href="classUpdate.html">Update</a> Stress Last and APIC is not used. <br /></td></tr>
<tr class="separator:adc400a0d8f8fbe5ff727924260a2b614"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3027c4165cb62e838e46a84ddd07d9a3"><td class="memItemLeft" align="right" valign="top"><a id="a3027c4165cb62e838e46a84ddd07d9a3"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a3027c4165cb62e838e46a84ddd07d9a3">compute_velocity_nodes</a> (bool)</td></tr>
<tr class="memdesc:a3027c4165cb62e838e46a84ddd07d9a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute nodal velocity (via momentum) step of the Particle to <a class="el" href="classGrid.html">Grid</a> step of the <a class="el" href="classMPM.html">MPM</a> algorithm. <br /></td></tr>
<tr class="separator:a3027c4165cb62e838e46a84ddd07d9a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e69eccd20d408fdec1552eabf571876"><td class="memItemLeft" align="right" valign="top"><a id="a0e69eccd20d408fdec1552eabf571876"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a0e69eccd20d408fdec1552eabf571876">compute_velocity_nodes_APIC</a> (bool)</td></tr>
<tr class="memdesc:a0e69eccd20d408fdec1552eabf571876"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specific function that computes the nodal velocity (via momentum) when using Affine PIC (APIC). <br /></td></tr>
<tr class="separator:a0e69eccd20d408fdec1552eabf571876"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b21d04baf0bf32241b1256e9f8ce487"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a5b21d04baf0bf32241b1256e9f8ce487">copy_particle</a> (int, int)</td></tr>
<tr class="separator:a5b21d04baf0bf32241b1256e9f8ce487"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a250838a75ab2b50576ba1c155b7979"><td class="memItemLeft" align="right" valign="top"><a id="a8a250838a75ab2b50576ba1c155b7979"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a8a250838a75ab2b50576ba1c155b7979">grow</a> (int)</td></tr>
<tr class="memdesc:a8a250838a75ab2b50576ba1c155b7979"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate memory for the vectors used for particles or resize them. <br /></td></tr>
<tr class="separator:a8a250838a75ab2b50576ba1c155b7979"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe8d84ebebe9dc494ca2a34dab38646c"><td class="memItemLeft" align="right" valign="top"><a id="afe8d84ebebe9dc494ca2a34dab38646c"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#afe8d84ebebe9dc494ca2a34dab38646c">init</a> ()</td></tr>
<tr class="memdesc:afe8d84ebebe9dc494ca2a34dab38646c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Launch the initialization of the grid. <br /></td></tr>
<tr class="separator:afe8d84ebebe9dc494ca2a34dab38646c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a979b8239c1c51038cad7e6cc68d57f24"><td class="memItemLeft" align="right" valign="top"><a id="a979b8239c1c51038cad7e6cc68d57f24"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a979b8239c1c51038cad7e6cc68d57f24">options</a> (vector&lt; string &gt; *, vector&lt; string &gt;::iterator)</td></tr>
<tr class="memdesc:a979b8239c1c51038cad7e6cc68d57f24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines the material and temperature schemes used. <br /></td></tr>
<tr class="separator:a979b8239c1c51038cad7e6cc68d57f24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25ddc59f5aa092bdcc0b74efeafb09b6"><td class="memItemLeft" align="right" valign="top"><a id="a25ddc59f5aa092bdcc0b74efeafb09b6"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a25ddc59f5aa092bdcc0b74efeafb09b6">pack_particle</a> (int, vector&lt; double &gt; &amp;)</td></tr>
<tr class="memdesc:a25ddc59f5aa092bdcc0b74efeafb09b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pack particles attributes into a buffer (used for generating a restart). <br /></td></tr>
<tr class="separator:a25ddc59f5aa092bdcc0b74efeafb09b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2c2823b604b3a38d4cc753d3483eda3"><td class="memItemLeft" align="right" valign="top"><a id="ad2c2823b604b3a38d4cc753d3483eda3"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#ad2c2823b604b3a38d4cc753d3483eda3">Solid</a> (class <a class="el" href="classMPM.html">MPM</a> *, vector&lt; string &gt;)</td></tr>
<tr class="memdesc:ad2c2823b604b3a38d4cc753d3483eda3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The main task of the constructor is to read the input arguments and launch the creation of particles. <br /></td></tr>
<tr class="separator:ad2c2823b604b3a38d4cc753d3483eda3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6772cfb6832498b7ea9a31a705bb669a"><td class="memItemLeft" align="right" valign="top"><a id="a6772cfb6832498b7ea9a31a705bb669a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a6772cfb6832498b7ea9a31a705bb669a">unpack_particle</a> (int &amp;, vector&lt; int &gt;, double[])</td></tr>
<tr class="memdesc:a6772cfb6832498b7ea9a31a705bb669a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unpack particles attributes from a buffer (used when reading a restart). <br /></td></tr>
<tr class="separator:a6772cfb6832498b7ea9a31a705bb669a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6be1593daa27c0a6f6b2e1426bae74e"><td class="memItemLeft" align="right" valign="top"><a id="aa6be1593daa27c0a6f6b2e1426bae74e"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#aa6be1593daa27c0a6f6b2e1426bae74e">update_deformation_gradient</a> ()</td></tr>
<tr class="memdesc:aa6be1593daa27c0a6f6b2e1426bae74e"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classUpdate.html">Update</a> the deformation gradient, volume, density, and the necessary strain matrices. <br /></td></tr>
<tr class="separator:aa6be1593daa27c0a6f6b2e1426bae74e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7edc8c1b5b130268ed8529d50faf554"><td class="memItemLeft" align="right" valign="top"><a id="ac7edc8c1b5b130268ed8529d50faf554"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#ac7edc8c1b5b130268ed8529d50faf554">update_particle_domain</a> ()</td></tr>
<tr class="memdesc:ac7edc8c1b5b130268ed8529d50faf554"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classUpdate.html">Update</a> the particle domain. Used with CPDI. <br /></td></tr>
<tr class="separator:ac7edc8c1b5b130268ed8529d50faf554"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a164a35436e47852dd82d2a4d7dfdb569"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a164a35436e47852dd82d2a4d7dfdb569">update_particle_velocities</a> (double)</td></tr>
<tr class="separator:a164a35436e47852dd82d2a4d7dfdb569"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39f369ebc77fa5d5485f290e064ad312"><td class="memItemLeft" align="right" valign="top"><a id="a39f369ebc77fa5d5485f290e064ad312"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a39f369ebc77fa5d5485f290e064ad312">update_stress</a> ()</td></tr>
<tr class="memdesc:a39f369ebc77fa5d5485f290e064ad312"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the stress, damage and temperature at each particle, and determine the maximum allowed time step. <br /></td></tr>
<tr class="separator:a39f369ebc77fa5d5485f290e064ad312"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a8cd187bb8c7c1c8c48ec08de08c8e9c0"><td class="memItemLeft" align="right" valign="top"><a id="a8cd187bb8c7c1c8c48ec08de08c8e9c0"></a>
vector&lt; Eigen::Vector3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a8cd187bb8c7c1c8c48ec08de08c8e9c0">a</a></td></tr>
<tr class="memdesc:a8cd187bb8c7c1c8c48ec08de08c8e9c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Particles' acceleration. <br /></td></tr>
<tr class="separator:a8cd187bb8c7c1c8c48ec08de08c8e9c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac7104d1b271229b2f2297602bf4b6f6"><td class="memItemLeft" align="right" valign="top"><a id="aac7104d1b271229b2f2297602bf4b6f6"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#aac7104d1b271229b2f2297602bf4b6f6">comm_n</a></td></tr>
<tr class="memdesc:aac7104d1b271229b2f2297602bf4b6f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of double to pack for particle exchange between CPU. <br /></td></tr>
<tr class="separator:aac7104d1b271229b2f2297602bf4b6f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7debcbf83f8da327beedc96e43279bc8"><td class="memItemLeft" align="right" valign="top"><a id="a7debcbf83f8da327beedc96e43279bc8"></a>
vector&lt; Eigen::Matrix3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a7debcbf83f8da327beedc96e43279bc8">D</a></td></tr>
<tr class="memdesc:a7debcbf83f8da327beedc96e43279bc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Symmetric part of L. <br /></td></tr>
<tr class="separator:a7debcbf83f8da327beedc96e43279bc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d6e4ad90d094ed232569f19f3cb7d95"><td class="memItemLeft" align="right" valign="top"><a id="a9d6e4ad90d094ed232569f19f3cb7d95"></a>
vector&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a9d6e4ad90d094ed232569f19f3cb7d95">damage</a></td></tr>
<tr class="memdesc:a9d6e4ad90d094ed232569f19f3cb7d95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Particles' damage variable. <br /></td></tr>
<tr class="separator:a9d6e4ad90d094ed232569f19f3cb7d95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af66d484d99a1bf88c2c6f395c6ef5cb0"><td class="memItemLeft" align="right" valign="top"><a id="af66d484d99a1bf88c2c6f395c6ef5cb0"></a>
vector&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#af66d484d99a1bf88c2c6f395c6ef5cb0">damage_init</a></td></tr>
<tr class="memdesc:af66d484d99a1bf88c2c6f395c6ef5cb0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Particles' damage initiation variable. <br /></td></tr>
<tr class="separator:af66d484d99a1bf88c2c6f395c6ef5cb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad70464718cb4e3e177eb53dd267abf14"><td class="memItemLeft" align="right" valign="top"><a id="ad70464718cb4e3e177eb53dd267abf14"></a>
vector&lt; Eigen::Matrix3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#ad70464718cb4e3e177eb53dd267abf14">Di</a></td></tr>
<tr class="memdesc:ad70464718cb4e3e177eb53dd267abf14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inertia tensor. <br /></td></tr>
<tr class="separator:ad70464718cb4e3e177eb53dd267abf14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3889ec4cc14bddb5173ab8786a84353c"><td class="memItemLeft" align="right" valign="top"><a id="a3889ec4cc14bddb5173ab8786a84353c"></a>
vector&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a3889ec4cc14bddb5173ab8786a84353c">eff_plastic_strain</a></td></tr>
<tr class="memdesc:a3889ec4cc14bddb5173ab8786a84353c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Particles' effective plastic strain. <br /></td></tr>
<tr class="separator:a3889ec4cc14bddb5173ab8786a84353c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab844cf723a989d091ed295a92e195a01"><td class="memItemLeft" align="right" valign="top"><a id="ab844cf723a989d091ed295a92e195a01"></a>
vector&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#ab844cf723a989d091ed295a92e195a01">eff_plastic_strain_rate</a></td></tr>
<tr class="memdesc:ab844cf723a989d091ed295a92e195a01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Particles' effective plastic strain rate. <br /></td></tr>
<tr class="separator:ab844cf723a989d091ed295a92e195a01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4937f68a0a4ed22a8921bd9d1ee787c6"><td class="memItemLeft" align="right" valign="top"><a id="a4937f68a0a4ed22a8921bd9d1ee787c6"></a>
vector&lt; Eigen::Vector3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a4937f68a0a4ed22a8921bd9d1ee787c6">f</a></td></tr>
<tr class="memdesc:a4937f68a0a4ed22a8921bd9d1ee787c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Particles' internal forces. <br /></td></tr>
<tr class="separator:a4937f68a0a4ed22a8921bd9d1ee787c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab24e3074e332337edc3a50ac0c7c349f"><td class="memItemLeft" align="right" valign="top"><a id="ab24e3074e332337edc3a50ac0c7c349f"></a>
vector&lt; Eigen::Matrix3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#ab24e3074e332337edc3a50ac0c7c349f">F</a></td></tr>
<tr class="memdesc:ab24e3074e332337edc3a50ac0c7c349f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deformation gradient matrix. <br /></td></tr>
<tr class="separator:ab24e3074e332337edc3a50ac0c7c349f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2c182d6caba2969c8ab563288551cfa"><td class="memItemLeft" align="right" valign="top"><a id="ac2c182d6caba2969c8ab563288551cfa"></a>
vector&lt; Eigen::Matrix3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#ac2c182d6caba2969c8ab563288551cfa">Fdot</a></td></tr>
<tr class="memdesc:ac2c182d6caba2969c8ab563288551cfa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rate of deformation gradient matrix. <br /></td></tr>
<tr class="separator:ac2c182d6caba2969c8ab563288551cfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a6cdb55e77f6f3b354498652aad8b3f"><td class="memItemLeft" align="right" valign="top"><a id="a3a6cdb55e77f6f3b354498652aad8b3f"></a>
vector&lt; Eigen::Matrix3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a3a6cdb55e77f6f3b354498652aad8b3f">Finv</a></td></tr>
<tr class="memdesc:a3a6cdb55e77f6f3b354498652aad8b3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inverse of the deformation gradient matrix. <br /></td></tr>
<tr class="separator:a3a6cdb55e77f6f3b354498652aad8b3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62b64dc283d8a374f44268fe5dfae063"><td class="memItemLeft" align="right" valign="top"><a id="a62b64dc283d8a374f44268fe5dfae063"></a>
class <a class="el" href="classGrid.html">Grid</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a62b64dc283d8a374f44268fe5dfae063">grid</a></td></tr>
<tr class="memdesc:a62b64dc283d8a374f44268fe5dfae063"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to the background grid. <br /></td></tr>
<tr class="separator:a62b64dc283d8a374f44268fe5dfae063"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a771d592f353985bf575f1235c910013f"><td class="memItemLeft" align="right" valign="top"><a id="a771d592f353985bf575f1235c910013f"></a>
string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a771d592f353985bf575f1235c910013f">id</a></td></tr>
<tr class="memdesc:a771d592f353985bf575f1235c910013f"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classSolid.html">Solid</a> id. <br /></td></tr>
<tr class="separator:a771d592f353985bf575f1235c910013f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafddf7773c6ee9a2d9be11b1e2e3bef8"><td class="memItemLeft" align="right" valign="top"><a id="aafddf7773c6ee9a2d9be11b1e2e3bef8"></a>
vector&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#aafddf7773c6ee9a2d9be11b1e2e3bef8">ienergy</a></td></tr>
<tr class="memdesc:aafddf7773c6ee9a2d9be11b1e2e3bef8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Particles' internal energy. <br /></td></tr>
<tr class="separator:aafddf7773c6ee9a2d9be11b1e2e3bef8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae16964861984431ed2405cde326fec3f"><td class="memItemLeft" align="right" valign="top"><a id="ae16964861984431ed2405cde326fec3f"></a>
vector&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#ae16964861984431ed2405cde326fec3f">J</a></td></tr>
<tr class="memdesc:ae16964861984431ed2405cde326fec3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determinant of the deformation matrix. <br /></td></tr>
<tr class="separator:ae16964861984431ed2405cde326fec3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96c832828355e2f95b9cc6d8d82d4b44"><td class="memItemLeft" align="right" valign="top"><a id="a96c832828355e2f95b9cc6d8d82d4b44"></a>
vector&lt; Eigen::Matrix3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a96c832828355e2f95b9cc6d8d82d4b44">L</a></td></tr>
<tr class="memdesc:a96c832828355e2f95b9cc6d8d82d4b44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Velocity gradient matrix. <br /></td></tr>
<tr class="separator:a96c832828355e2f95b9cc6d8d82d4b44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af75c04b1ad8cec17173e8acaa6319568"><td class="memItemLeft" align="right" valign="top"><a id="af75c04b1ad8cec17173e8acaa6319568"></a>
vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#af75c04b1ad8cec17173e8acaa6319568">mask</a></td></tr>
<tr class="memdesc:af75c04b1ad8cec17173e8acaa6319568"><td class="mdescLeft">&#160;</td><td class="mdescRight">Particles' group mask. <br /></td></tr>
<tr class="separator:af75c04b1ad8cec17173e8acaa6319568"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5732fbf51a00b533f04c62d6f310c646"><td class="memItemLeft" align="right" valign="top"><a id="a5732fbf51a00b533f04c62d6f310c646"></a>
vector&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a5732fbf51a00b533f04c62d6f310c646">mass</a></td></tr>
<tr class="memdesc:a5732fbf51a00b533f04c62d6f310c646"><td class="mdescLeft">&#160;</td><td class="mdescRight">Particles' current mass. <br /></td></tr>
<tr class="separator:a5732fbf51a00b533f04c62d6f310c646"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a627d17d80ba3ab6ccf08379feff4e676"><td class="memItemLeft" align="right" valign="top"><a id="a627d17d80ba3ab6ccf08379feff4e676"></a>
struct <a class="el" href="classMat.html">Mat</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a627d17d80ba3ab6ccf08379feff4e676">mat</a></td></tr>
<tr class="memdesc:a627d17d80ba3ab6ccf08379feff4e676"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to the material. <br /></td></tr>
<tr class="separator:a627d17d80ba3ab6ccf08379feff4e676"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c90f9e2e46fdcec899626dc09f10222"><td class="memItemLeft" align="right" valign="top"><a id="a8c90f9e2e46fdcec899626dc09f10222"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a8c90f9e2e46fdcec899626dc09f10222">max_p_wave_speed</a></td></tr>
<tr class="memdesc:a8c90f9e2e46fdcec899626dc09f10222"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum of the particle wave speed. <br /></td></tr>
<tr class="separator:a8c90f9e2e46fdcec899626dc09f10222"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13832fcbe5b124ee4f4e1c143ea06560"><td class="memItemLeft" align="right" valign="top"><a id="a13832fcbe5b124ee4f4e1c143ea06560"></a>
vector&lt; Eigen::Vector3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a13832fcbe5b124ee4f4e1c143ea06560">mbp</a></td></tr>
<tr class="memdesc:a13832fcbe5b124ee4f4e1c143ea06560"><td class="mdescLeft">&#160;</td><td class="mdescRight">Particles' external forces times mass. <br /></td></tr>
<tr class="separator:a13832fcbe5b124ee4f4e1c143ea06560"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8f5c880313e0c9905cb564115f19601"><td class="memItemLeft" align="right" valign="top"><a id="ae8f5c880313e0c9905cb564115f19601"></a>
string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#ae8f5c880313e0c9905cb564115f19601">method_type</a></td></tr>
<tr class="memdesc:ae8f5c880313e0c9905cb564115f19601"><td class="mdescLeft">&#160;</td><td class="mdescRight">Either tlmpm, tlcpdi, tlcpdi2, ulmpm, ulcpdi, or ulcpdi2 (all kinds of <a class="el" href="classMPM.html">MPM</a> supported) <br /></td></tr>
<tr class="separator:ae8f5c880313e0c9905cb564115f19601"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88fe233444aeb9e0c919bb1f9d64de93"><td class="memItemLeft" align="right" valign="top"><a id="a88fe233444aeb9e0c919bb1f9d64de93"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a88fe233444aeb9e0c919bb1f9d64de93">mtot</a></td></tr>
<tr class="memdesc:a88fe233444aeb9e0c919bb1f9d64de93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total mass. <br /></td></tr>
<tr class="separator:a88fe233444aeb9e0c919bb1f9d64de93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68000a14e932c9d485959bbcdd696e35"><td class="memItemLeft" align="right" valign="top"><a id="a68000a14e932c9d485959bbcdd696e35"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a68000a14e932c9d485959bbcdd696e35">nc</a></td></tr>
<tr class="memdesc:a68000a14e932c9d485959bbcdd696e35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of corners per particles: \(2^{dimension}\). <br /></td></tr>
<tr class="separator:a68000a14e932c9d485959bbcdd696e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88e0782ec40502f1f2164eb00c137f08"><td class="memItemLeft" align="right" valign="top"><a id="a88e0782ec40502f1f2164eb00c137f08"></a>
vector&lt; vector&lt; int &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a88e0782ec40502f1f2164eb00c137f08">neigh_np</a></td></tr>
<tr class="memdesc:a88e0782ec40502f1f2164eb00c137f08"><td class="mdescLeft">&#160;</td><td class="mdescRight">List of the particles neighbouring a given node. <br /></td></tr>
<tr class="separator:a88e0782ec40502f1f2164eb00c137f08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52c355a66e506e56cf56206127c79687"><td class="memItemLeft" align="right" valign="top"><a id="a52c355a66e506e56cf56206127c79687"></a>
vector&lt; vector&lt; int &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a52c355a66e506e56cf56206127c79687">neigh_pn</a></td></tr>
<tr class="memdesc:a52c355a66e506e56cf56206127c79687"><td class="mdescLeft">&#160;</td><td class="mdescRight">List of the nodes neighbouring a given particle. <br /></td></tr>
<tr class="separator:a52c355a66e506e56cf56206127c79687"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64af6fa84058934e53affdc750281c0a"><td class="memItemLeft" align="right" valign="top"><a id="a64af6fa84058934e53affdc750281c0a"></a>
bigint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a64af6fa84058934e53affdc750281c0a">np</a></td></tr>
<tr class="memdesc:a64af6fa84058934e53affdc750281c0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total number of particles in the domain. <br /></td></tr>
<tr class="separator:a64af6fa84058934e53affdc750281c0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa98af10fa7a2f269847ffc07898e1647"><td class="memItemLeft" align="right" valign="top"><a id="aa98af10fa7a2f269847ffc07898e1647"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#aa98af10fa7a2f269847ffc07898e1647">np_local</a></td></tr>
<tr class="memdesc:aa98af10fa7a2f269847ffc07898e1647"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of local particles (in this CPU) <br /></td></tr>
<tr class="separator:aa98af10fa7a2f269847ffc07898e1647"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60e8959630229b3c18b34959b5e72eda"><td class="memItemLeft" align="right" valign="top"><a id="a60e8959630229b3c18b34959b5e72eda"></a>
vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a60e8959630229b3c18b34959b5e72eda">numneigh_np</a></td></tr>
<tr class="memdesc:a60e8959630229b3c18b34959b5e72eda"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of nodes neighbouring a given node. <br /></td></tr>
<tr class="separator:a60e8959630229b3c18b34959b5e72eda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c1b0a0c697475c2facdc4440577629d"><td class="memItemLeft" align="right" valign="top"><a id="a6c1b0a0c697475c2facdc4440577629d"></a>
vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a6c1b0a0c697475c2facdc4440577629d">numneigh_pn</a></td></tr>
<tr class="memdesc:a6c1b0a0c697475c2facdc4440577629d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of nodes neighbouring a given particle. <br /></td></tr>
<tr class="separator:a6c1b0a0c697475c2facdc4440577629d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1c3a1948f3ede54103ec5568b9ad608"><td class="memItemLeft" align="right" valign="top"><a id="ae1c3a1948f3ede54103ec5568b9ad608"></a>
vector&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#ae1c3a1948f3ede54103ec5568b9ad608">pH_regu</a></td></tr>
<tr class="memdesc:ae1c3a1948f3ede54103ec5568b9ad608"><td class="mdescLeft">&#160;</td><td class="mdescRight">Particles' regularized hydrostatic pressure. <br /></td></tr>
<tr class="separator:ae1c3a1948f3ede54103ec5568b9ad608"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08b90d10c0416ca437f83376f451f072"><td class="memItemLeft" align="right" valign="top"><a id="a08b90d10c0416ca437f83376f451f072"></a>
vector&lt; tagint &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a08b90d10c0416ca437f83376f451f072">ptag</a></td></tr>
<tr class="memdesc:a08b90d10c0416ca437f83376f451f072"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unique identifier for particles in the system. <br /></td></tr>
<tr class="separator:a08b90d10c0416ca437f83376f451f072"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfe636df56b69b2f22cdf6510ac8fc18"><td class="memItemLeft" align="right" valign="top"><a id="adfe636df56b69b2f22cdf6510ac8fc18"></a>
vector&lt; Eigen::Matrix3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#adfe636df56b69b2f22cdf6510ac8fc18">R</a></td></tr>
<tr class="memdesc:adfe636df56b69b2f22cdf6510ac8fc18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotation matrix. <br /></td></tr>
<tr class="separator:adfe636df56b69b2f22cdf6510ac8fc18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04427c65af63fe2dcd1e1f38b8c6b7d4"><td class="memItemLeft" align="right" valign="top"><a id="a04427c65af63fe2dcd1e1f38b8c6b7d4"></a>
vector&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a04427c65af63fe2dcd1e1f38b8c6b7d4">rho</a></td></tr>
<tr class="memdesc:a04427c65af63fe2dcd1e1f38b8c6b7d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Particles' current density. <br /></td></tr>
<tr class="separator:a04427c65af63fe2dcd1e1f38b8c6b7d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0921b8952e0e7f7023d2167db264a826"><td class="memItemLeft" align="right" valign="top"><a id="a0921b8952e0e7f7023d2167db264a826"></a>
vector&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a0921b8952e0e7f7023d2167db264a826">rho0</a></td></tr>
<tr class="memdesc:a0921b8952e0e7f7023d2167db264a826"><td class="mdescLeft">&#160;</td><td class="mdescRight">Particles' reference density. <br /></td></tr>
<tr class="separator:a0921b8952e0e7f7023d2167db264a826"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7d152598188767ccc3bbdefb21e2b8c"><td class="memItemLeft" align="right" valign="top"><a id="aa7d152598188767ccc3bbdefb21e2b8c"></a>
vector&lt; Eigen::Vector3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#aa7d152598188767ccc3bbdefb21e2b8c">rp</a></td></tr>
<tr class="memdesc:aa7d152598188767ccc3bbdefb21e2b8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current domain vector (CPDI1) <br /></td></tr>
<tr class="separator:aa7d152598188767ccc3bbdefb21e2b8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0a137db6950e7f95a99a938a5dbd66b"><td class="memItemLeft" align="right" valign="top"><a id="ac0a137db6950e7f95a99a938a5dbd66b"></a>
vector&lt; Eigen::Vector3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#ac0a137db6950e7f95a99a938a5dbd66b">rp0</a></td></tr>
<tr class="memdesc:ac0a137db6950e7f95a99a938a5dbd66b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reference domain vector (CPDI1) <br /></td></tr>
<tr class="separator:ac0a137db6950e7f95a99a938a5dbd66b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab30f3cf0cb83d009d522cebade42ecf5"><td class="memItemLeft" align="right" valign="top"><a id="ab30f3cf0cb83d009d522cebade42ecf5"></a>
vector&lt; Eigen::Matrix3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#ab30f3cf0cb83d009d522cebade42ecf5">sigma</a></td></tr>
<tr class="memdesc:ab30f3cf0cb83d009d522cebade42ecf5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stress matrix. <br /></td></tr>
<tr class="separator:ab30f3cf0cb83d009d522cebade42ecf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bf794f9a4a62e5368529eeb142462e8"><td class="memItemLeft" align="right" valign="top"><a id="a6bf794f9a4a62e5368529eeb142462e8"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a6bf794f9a4a62e5368529eeb142462e8">solidhi</a> [3]</td></tr>
<tr class="memdesc:a6bf794f9a4a62e5368529eeb142462e8"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classSolid.html">Solid</a> global bounds. <br /></td></tr>
<tr class="separator:a6bf794f9a4a62e5368529eeb142462e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba36323d2a47e01ffb1f96d65d1f52bf"><td class="memItemLeft" align="right" valign="top"><a id="aba36323d2a47e01ffb1f96d65d1f52bf"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#aba36323d2a47e01ffb1f96d65d1f52bf">solidsubhi</a> [3]</td></tr>
<tr class="memdesc:aba36323d2a47e01ffb1f96d65d1f52bf"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classSolid.html">Solid</a> local bounds. <br /></td></tr>
<tr class="separator:aba36323d2a47e01ffb1f96d65d1f52bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67c4edb04af12e80ca6e3ea375b48569"><td class="memItemLeft" align="right" valign="top"><a id="a67c4edb04af12e80ca6e3ea375b48569"></a>
vector&lt; Eigen::Matrix3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a67c4edb04af12e80ca6e3ea375b48569">strain_el</a></td></tr>
<tr class="memdesc:a67c4edb04af12e80ca6e3ea375b48569"><td class="mdescLeft">&#160;</td><td class="mdescRight">Elastic strain matrix. <br /></td></tr>
<tr class="separator:a67c4edb04af12e80ca6e3ea375b48569"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9360b40e90e66f55bf4b96371d099123"><td class="memItemLeft" align="right" valign="top"><a id="a9360b40e90e66f55bf4b96371d099123"></a>
vector&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a9360b40e90e66f55bf4b96371d099123">T</a></td></tr>
<tr class="memdesc:a9360b40e90e66f55bf4b96371d099123"><td class="mdescLeft">&#160;</td><td class="mdescRight">Particles' temperature. <br /></td></tr>
<tr class="separator:a9360b40e90e66f55bf4b96371d099123"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a098800d2d03607579156e57abe501d20"><td class="memItemLeft" align="right" valign="top"><a id="a098800d2d03607579156e57abe501d20"></a>
vector&lt; Eigen::Vector3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a098800d2d03607579156e57abe501d20">v</a></td></tr>
<tr class="memdesc:a098800d2d03607579156e57abe501d20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Particles' current velocity. <br /></td></tr>
<tr class="separator:a098800d2d03607579156e57abe501d20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a918cb701b55d4e8e6fec2d89e3db6475"><td class="memItemLeft" align="right" valign="top"><a id="a918cb701b55d4e8e6fec2d89e3db6475"></a>
vector&lt; Eigen::Vector3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a918cb701b55d4e8e6fec2d89e3db6475">v_update</a></td></tr>
<tr class="memdesc:a918cb701b55d4e8e6fec2d89e3db6475"><td class="mdescLeft">&#160;</td><td class="mdescRight">Particles' velocity at time t+dt. <br /></td></tr>
<tr class="separator:a918cb701b55d4e8e6fec2d89e3db6475"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a156471c290271d5772bd7aaacc1fd141"><td class="memItemLeft" align="right" valign="top"><a id="a156471c290271d5772bd7aaacc1fd141"></a>
vector&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a156471c290271d5772bd7aaacc1fd141">vol</a></td></tr>
<tr class="memdesc:a156471c290271d5772bd7aaacc1fd141"><td class="mdescLeft">&#160;</td><td class="mdescRight">Particles' current volume. <br /></td></tr>
<tr class="separator:a156471c290271d5772bd7aaacc1fd141"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a558d29bb506fa312acbf30b54464ae73"><td class="memItemLeft" align="right" valign="top"><a id="a558d29bb506fa312acbf30b54464ae73"></a>
vector&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a558d29bb506fa312acbf30b54464ae73">vol0</a></td></tr>
<tr class="memdesc:a558d29bb506fa312acbf30b54464ae73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Particles' reference volume. <br /></td></tr>
<tr class="separator:a558d29bb506fa312acbf30b54464ae73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99f8130c120665a22c666e1ebc03f68c"><td class="memItemLeft" align="right" valign="top"><a id="a99f8130c120665a22c666e1ebc03f68c"></a>
vector&lt; Eigen::Matrix3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a99f8130c120665a22c666e1ebc03f68c">vol0PK1</a></td></tr>
<tr class="memdesc:a99f8130c120665a22c666e1ebc03f68c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transpose of the 1st Piola-Kirchhoff matrix times vol0. <br /></td></tr>
<tr class="separator:a99f8130c120665a22c666e1ebc03f68c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee7225f643e57e61dd1d07942cb7b70e"><td class="memItemLeft" align="right" valign="top"><a id="aee7225f643e57e61dd1d07942cb7b70e"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#aee7225f643e57e61dd1d07942cb7b70e">vtot</a></td></tr>
<tr class="memdesc:aee7225f643e57e61dd1d07942cb7b70e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total volume. <br /></td></tr>
<tr class="separator:aee7225f643e57e61dd1d07942cb7b70e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4fc6367904864de3ef61047a802c1df"><td class="memItemLeft" align="right" valign="top"><a id="aa4fc6367904864de3ef61047a802c1df"></a>
vector&lt; vector&lt; double &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#aa4fc6367904864de3ef61047a802c1df">wf_np</a></td></tr>
<tr class="memdesc:aa4fc6367904864de3ef61047a802c1df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array of arrays (matrix) of the weight functions \(\Phi_{Ip}\) effectively the transpose of wf_pn. <br /></td></tr>
<tr class="separator:aa4fc6367904864de3ef61047a802c1df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abaeff4d98b63626f93c36d9f7d2ec94e"><td class="memItemLeft" align="right" valign="top"><a id="abaeff4d98b63626f93c36d9f7d2ec94e"></a>
vector&lt; vector&lt; double &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#abaeff4d98b63626f93c36d9f7d2ec94e">wf_pn</a></td></tr>
<tr class="memdesc:abaeff4d98b63626f93c36d9f7d2ec94e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array of arrays (matrix) of the weight functions \(\Phi_{pI}\). <br /></td></tr>
<tr class="separator:abaeff4d98b63626f93c36d9f7d2ec94e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a647b5baad8530e1f8bc5a8feefd9125e"><td class="memItemLeft" align="right" valign="top"><a id="a647b5baad8530e1f8bc5a8feefd9125e"></a>
vector&lt; vector&lt; double &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a647b5baad8530e1f8bc5a8feefd9125e">wf_pn_corners</a></td></tr>
<tr class="memdesc:a647b5baad8530e1f8bc5a8feefd9125e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array of arrays (matrix) of the weight functions \(\Phi_{Ic}\) evaluated at the corners of the particle's domain (used in CPDI) <br /></td></tr>
<tr class="separator:a647b5baad8530e1f8bc5a8feefd9125e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a915eb697bff70c2e891752c5fa7cf9ce"><td class="memItemLeft" align="right" valign="top"><a id="a915eb697bff70c2e891752c5fa7cf9ce"></a>
vector&lt; vector&lt; Eigen::Vector3d &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a915eb697bff70c2e891752c5fa7cf9ce">wfd_np</a></td></tr>
<tr class="memdesc:a915eb697bff70c2e891752c5fa7cf9ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array of arrays (matrix) of the derivative of the weight functions \(\partial \Phi_{Ip}/ \partial x\) effectively the transpose of wfd_pn. <br /></td></tr>
<tr class="separator:a915eb697bff70c2e891752c5fa7cf9ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80a0ed28ead9c4874067d12460dda6db"><td class="memItemLeft" align="right" valign="top"><a id="a80a0ed28ead9c4874067d12460dda6db"></a>
vector&lt; vector&lt; Eigen::Vector3d &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a80a0ed28ead9c4874067d12460dda6db">wfd_pn</a></td></tr>
<tr class="memdesc:a80a0ed28ead9c4874067d12460dda6db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array of arrays (matrix) of the derivative of the weight functions \(\partial \Phi_{pI}/\partial x\). <br /></td></tr>
<tr class="separator:a80a0ed28ead9c4874067d12460dda6db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c4f6f8682e7379f6bb1aab147b45188"><td class="memItemLeft" align="right" valign="top"><a id="a8c4f6f8682e7379f6bb1aab147b45188"></a>
vector&lt; Eigen::Vector3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a8c4f6f8682e7379f6bb1aab147b45188">x</a></td></tr>
<tr class="memdesc:a8c4f6f8682e7379f6bb1aab147b45188"><td class="mdescLeft">&#160;</td><td class="mdescRight">Particles' current position. <br /></td></tr>
<tr class="separator:a8c4f6f8682e7379f6bb1aab147b45188"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a2efd6e797c3fb86a4176dba6188bce"><td class="memItemLeft" align="right" valign="top"><a id="a5a2efd6e797c3fb86a4176dba6188bce"></a>
vector&lt; Eigen::Vector3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a5a2efd6e797c3fb86a4176dba6188bce">x0</a></td></tr>
<tr class="memdesc:a5a2efd6e797c3fb86a4176dba6188bce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Particles' reference position. <br /></td></tr>
<tr class="separator:a5a2efd6e797c3fb86a4176dba6188bce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f24e3b981bfa23386ea57173498dbc4"><td class="memItemLeft" align="right" valign="top"><a id="a9f24e3b981bfa23386ea57173498dbc4"></a>
vector&lt; Eigen::Vector3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a9f24e3b981bfa23386ea57173498dbc4">xpc</a></td></tr>
<tr class="memdesc:a9f24e3b981bfa23386ea57173498dbc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current position of the corners of the particles' domain (CPDI2o) <br /></td></tr>
<tr class="separator:a9f24e3b981bfa23386ea57173498dbc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f07240b8a69ebc94c2b804dc0ba17d6"><td class="memItemLeft" align="right" valign="top"><a id="a3f07240b8a69ebc94c2b804dc0ba17d6"></a>
vector&lt; Eigen::Vector3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSolid.html#a3f07240b8a69ebc94c2b804dc0ba17d6">xpc0</a></td></tr>
<tr class="memdesc:a3f07240b8a69ebc94c2b804dc0ba17d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reference position of the corners of the particles' domain (CPDI2) <br /></td></tr>
<tr class="separator:a3f07240b8a69ebc94c2b804dc0ba17d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a5b21d04baf0bf32241b1256e9f8ce487"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b21d04baf0bf32241b1256e9f8ce487">&#9670;&nbsp;</a></span>copy_particle()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Solid::copy_particle </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>j</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Copy particle i attribute and copy it to particle j. This function is used to re-order the memory arrangment of particles. Usually this is done when particle j is deleted. </p>

</div>
</div>
<a id="a164a35436e47852dd82d2a4d7dfdb569"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a164a35436e47852dd82d2a4d7dfdb569">&#9670;&nbsp;</a></span>update_particle_velocities()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Solid::update_particle_velocities </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>alpha</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><a class="el" href="classUpdate.html">Update</a> the particles' velocities based on either PIC and/or FLIP. The argument is the ratio \(\alpha\) used between PIC and FLIP. \(\alpha = 0\) for pure PIC, \(\alpha = 1\) for pure FLIP. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="solid_8h_source.html">solid.h</a></li>
<li>solid.cpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classSolid.html">Solid</a></li>
    <li class="footer">Generated on Tue Jul 7 2020 22:31:23 for Karamelo by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
<!-- Matomo -->
<script type="text/javascript">
  var _paq = _paq || [];
  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="//stats.sylphide-consulting.com/matomo/";
    _paq.push(['setTrackerUrl', u+'piwik.php']);
    _paq.push(['setSiteId', '20']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<noscript><p><img src="//stats.sylphide-consulting.com/matomo/piwik.php?idsite=20&rec=1" style="border:0;" alt="" /></p></noscript>
<!-- End Matomo Code -->
</body>
</html>
